package main

import (
	"go-likaladi-shop/common/base_init"
	"google.golang.org/grpc"
	"shop-web/user-web/global"
	"shop-web/user-web/initialize"
	"shop-web/user-web/proto"
)

func main() {
	//初始化日志、yaml、翻譯、validate
	base_init.GinBasicConfig("user-web/config.yaml", global.ServerConfig)

	//创建nacos客户端
	base_init.InitNacosService("go-user-web", global.ServerConfig.NacosInfo, global.ServiceYaml)

	//通过 Consul 进行服务发现和负载均衡的 gRPC 客户端连接过程
	base_init.GrpcClientLoadBalance(global.ServiceYaml.ConsulConfig, global.ServiceYaml.UserSrv, func(clientConn *grpc.ClientConn) {
		// 创建 gRPC 客户端，调用 gRPC 方法时需要使用该客户端
		global.UserClient = proto.NewUserClient(clientConn)
	})

	//创建一个默认的 Gin 引擎，初始化相关路由映射
	base_init.GinStartServer(global.ServerConfig.Sport, initialize.InitRouters,
		global.ServiceYaml.ConsulConfig, &global.ServiceYaml.Register)
}
